package com.lfc.cglib;

import net.sf.cglib.proxy.Enhancer;

/**
 * 通过工厂获取代理对象
 */
public class CglibProxyFactory {
    public static Object getProxy(Class<?> clz){
        Enhancer enhancer=new Enhancer();
        // 设置类的加载器
        enhancer.setClassLoader(clz.getClassLoader());
        enhancer.setSuperclass(clz);
        // 设置方法的拦截器
        enhancer.setCallback(new CglibProxyMethodInterceptor());
        // 创建代理类
        return enhancer.create();
    }
}
